#!/bin/bash
{
# 执行这行命令需要存在'myzabbix'用户,密码为'myzabbix',而且 /home/myzabbix 目录中要存在.toprc文件
lld_swap_tmp="$(echo 'myzabbix' |su -c"top -b -n1 |head |grep -Ev 'COMMAND|^$'" - myzabbix)"
lld_swap_log=/home/myzabbix/zabbix.lld.swap.log
echo "${lld_swap_tmp}" |awk '{R[NR]=1; 	# R数组:记录总共处理了多少行数据
F[NR,1]=$5; 							# 第5列:swap使用量
F[NR,2]=$1; 							# 第1列:PID
F[NR,3]=$6; 							# 第6列:命令名	
B[$6]++}END{ 							# B数组:有没有重复的命令名
for (i in R) {
	for (j in B) {
		if (j==F[i,3])
			if (B[j]>1) print F[i,1],F[i,2]"_"F[i,3]; else print F[i,1],F[i,3]
		}
	}
}' > ${lld_swap_log}

originData="$(awk '{p[$NF]++}END{
for (i in p) print "{\"{#SWAPTOP}\":\""i"\"}";
}' ${lld_swap_log})"
} 2>/dev/null
# 生成Json格式		# echo ${originData}会把<newline>替换成<space>
echo "{\"data\":[`echo ${originData}|sed 's/ /,/g'`]}"